***********************************************************
***		Do-File to harmonize establishment measures		***
***		across time and to create a single repeated		***
***		cross-sectional establishment dataset			***
***		Last change: 27.05.2015 fo						***
***********************************************************

clear
set more off
log using $log/01_merge_establishments.log ,replace

*******************
***		1993	***
*******************
use $orig/iabbp_1993.dta if quer1993=="Q", clear
keep bula1993 a24 a09b93 a09bproz a07 br16fb93 quer1993 hr1993q idnum well*

* Jahr
gen jahr=1993

* Ost/West
recode bula1993 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula1993 (0=11), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
gen ertragslage_lasty = .

* Ertragslage im laufenden Gesch�ftsjahr (5 Auspr�gungen)
recode a24 (-9=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_thisy)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_thisy ertragslage

* exportanteil am umsatz
recode a07 (-9 -8=.), gen(export_proz)
gen export_euro = .

* Branche (16 Auspr�gungen)
recode br16fb93 (1 2=1)(3/5=2)(6=3)(7=4)(8=5)(9 10=6)(11/15=7)(16=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Hochrechnungsfaktor
gen csweight = hr1993q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1 csweight well*


save $data/bpmerge_1993.dta, replace

*******************
***		1994	***
*******************
use $orig/iabbp_1994.dta if quer1994=="Q", clear
keep bula1994 b11 b16b94 br16fb94 b16bproz b14 quer1994 hr1994q idnum well*

* Jahr
gen jahr=1994

* Ost/West
recode bula1994 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula1994 (0=11), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
gen ertragslage_lasty = .

* Ertragslage im laufenden Gesch�ftsjahr (5 Auspr�gungen)
recode b11 (-9=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_thisy)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_thisy ertragslage

* exportanteil am umsatz
recode b14 (-9 -8=.), gen(export_proz)
gen export_euro = .

* Branche (16 Auspr�gungen)
recode br16fb94 (1 2=1)(3/5=2)(6=3)(7=4)(8=5)(9 10=6)(11/15=7)(16=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Querschnittgewicht
gen csweight = hr1994q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*


save $data/bpmerge_1994.dta, replace


*******************
*** 	1995	***
*******************
use $orig/iabbp_1995.dta if quer1995=="Q", clear
keep bula1995 c11 c16b95 c16bproz c14 br16fb95 c62 quer1995 hr1995q idnum well*


* Jahr
gen jahr=1995

* Ost/West
recode bula1995 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula1995 (0=11), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
gen ertragslage_lasty = .

* Ertragslage im laufenden Gesch�ftsjahr (5 Auspr�gungen)
recode c11 (-9.=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_thisy)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_thisy ertragslage

* exportanteil am umsatz
recode c14 (-9 -8=.), gen(export_proz)
gen export_euro = .

* Branche (16 Auspr�gungen)
recode br16fb95 (1 2=1)(3/5=2)(6=3)(7=4)(8=5)(9 10=6)(11/15=7)(16=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1


* Querschnittgewicht
gen csweight = hr1995q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*


save $data/bpmerge_1995.dta, replace

*******************
*** 	1996	***
*******************
use $orig/iabbp_1996.dta if quer1996=="Q", clear
keep bula1996 d09 d1496 d14proz d18 br16fb96 d49 quer1996 hr1996q idnum well*

* Jahr
gen jahr=1996

* Ost/West
recode bula1996 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula1996 (0=11)(12=13)(13=12)(14=15)(15=16)(16=14), gen(bula)		/* bring eastern states to post-1997 coding scheme */

* Ertragslage im letzten Gesch�ftsjahr
gen ertragslage_lasty = .

* Ertragslage im laufenden Gesch�ftsjahr
recode d09 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_thisy)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_thisy ertragslage

* exportanteil am umsatz
recode d18 (-9 -8=.), gen(export_proz)
gen export_euro = .

* Branche (16 Auspr�gungen)
recode br16fb96 (1 2=1)(3/5=2)(6=3)(7=4)(8=5)(9 10=6)(11/15=7)(16=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1


* Querschnittgewicht
gen csweight = hr1996q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*


save $data/bpmerge_1996.dta, replace

*******************
*** 	1997	***
*******************
use $orig/iabbp_1997.dta if quer1997=="Q", clear
keep bula1997 e09 e1497 e14proz e18a br16fb97 quer1997 hr1997q e57 idnum well*

* Jahr
gen jahr=1997

* Ost/West
recode bula1997 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula1997 (0=11)(12=13)(13=12)(14=15)(15=16)(16=14), gen(bula)		/* bring eastern states to post-1997 coding scheme */

* Ertragslage im letzten Gesch�ftsjahr
gen ertragslage_lasty = .

* Ertragslage im laufenden Gesch�ftsjahr
recode e09 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_thisy)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_thisy ertragslage

* exportanteil am umsatz
recode e18a (-9 -8=.), gen(export_proz)
gen export_euro = .

* Branche (16 Auspr�gungen)
recode br16fb97 (1 2=1)(3/5=2)(6=3)(7=4)(8=5)(9 10=6)(11/15=7)(16=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1


* Querschnittgewicht
gen csweight = hr1997q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*


save $data/bpmerge_1997.dta, replace

*******************
*** 	1998	***
*******************
use $orig/iabbp_1998.dta if quer1998=="Q", clear
keep bula1998 f08b f08a f1298 f12proz f15* br16fb98 f59 quer1998 hr1998q idnum well*

* Jahr
gen jahr=1998

* Ost/West
recode bula1998 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula1998 (0=11), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
recode f08b (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
recode f08a (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_thisy)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_thisy ertragslage

* exportanteil am umsatz
recode f15* (-9 -8=.)
gen export_proz = f15c + f15d
gen export_euro = f15c

* Branche (16 Auspr�gungen)
recode br16fb98 (1 2=1)(3/5=2)(6=3)(7=4)(8=5)(9 10=6)(11/15=7)(16=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1


* Querschnittgewicht
gen csweight = hr1998q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*

save $data/bpmerge_1998.dta, replace

*******************
*** 	1999	***
*******************
use $orig/iabbp_1999.dta if quer1999=="Q", clear
keep bula1999 g09 g12 g12proz g16* br16fb99 g50 g51 idnum quer1999 hr1999q well*

* Jahr
gen jahr=1999

* Ost/West
recode bula1999 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula1999 (0=11), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
recode g09 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* exportanteil am umsatz
recode g16* (-9 -8=.)
gen export_proz = g16c + g16d
gen export_euro = g16c

* Branche (16 Auspr�gungen)
recode br16fb99 (1 2=1)(3/5=2)(6=3)(7=4)(8=5)(9 10=6)(11/15=7)(16=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1


* Querschnittgewicht
gen csweight = hr1999q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*

save $data/bpmerge_1999.dta, replace


*******************
*** 	2000	***
*******************
use $orig/iabbp_2000.dta if quer2000=="Q", clear
keep bula2000 h10 h13 h13proz h15* br20fb00 h42 h43 quer2000 hr2000q idnum well*

* Jahr
gen jahr=2000

* Ost/West
recode bula2000 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2000 (0=11)(10=7), gen(bula)		/* from 2000 onwards: recode saarland to rheinld.pf. */

* Ertragslage im letzten Gesch�ftsjahr
recode h10 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* exportanteil am umsatz
recode h15* (-9 -8=.)
gen export_proz = h15c + h15d
gen export_euro = h15c

* Branche (20 Auspr�gungen)
recode br20fb00 (1 2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/19=7)(19 20=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten�bermitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./�ff.Verw./Soz.vers."
label value w73_1 w73_1

* Querschnittgewicht
gen csweight = hr2000q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*

save $data/bpmerge_2000.dta, replace


*******************
*** 	2001	***
*******************
use $orig/iabbp_2001.dta if quer2001=="Q", clear
keep bula2001 i09 i08 i08proz i11* br20fb01 i67 i68 quer2001 hr2001q idnum well*

* Jahr
gen jahr=2001

* Ost/West
recode bula2001 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2001 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
recode i09 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* exportanteil am umsatz
recode i11* (-9 -8=.)
gen export_proz = i11c + i11d
gen export_euro = i11c

* Branche (20 Auspr�gungen)
recode br20fb01 (1 2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/19=7)(19 20=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1


* Branche (wz 5-steller)
* wz93_01

* Querschnittgewicht
gen csweight = hr2001q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*

save $data/bpmerge_2001.dta, replace


*******************
*** 	2002	***
*******************
use $orig/iabbp_2002.dta if quer2002=="Q", clear
keep bula2002 j08 j07 j07proz j10* br20fb02 j30 j31 quer2002 hr2002q idnum well*

* Jahr
gen jahr=2002

* Ost/West
recode bula2002 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2002 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
recode j08 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* exportanteil am umsatz
recode j10* (-9 -8=.)
gen export_proz = j10c + j10d
gen export_euro = j10c

* Branche
recode br20fb02 (1 2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/19=7)(19 20=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1


* Querschnittgewicht
gen csweight = hr2002q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*

save $data/bpmerge_2002.dta, replace


*******************
*** 	2003	***
*******************
use $orig/iabbp_2003.dta if quer2003=="Q", clear
keep bula2003 k11 k10 k10proz k13* br20fb03 k72 k75a idnum quer2003 hr2003q well*

* Jahr
gen jahr=2003

* Ost/West
recode bula2003 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2003 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
recode k11 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* exportanteil am umsatz
recode k13* (-9 -8=.)
gen export_proz = k13c + k13d
gen export_euro = k13c

* Branche (20 Auspr�gungen)
recode br20fb03 (1 2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/19=7)(19 20=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1


* Querschnittgewicht
gen csweight = hr2003q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*

save $data/bpmerge_2003.dta, replace



*******************
*** 	2004	***
*******************

use $orig/iabbp_2004.dta if quer2004=="Q", clear
keep bula2004 l11 l10 l10proz l13* br17fb04 l64 l65 idnum quer2004 hr2004q well*

* Jahr
gen jahr=2004

* Ost/West
recode bula2004 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2004 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
recode l11 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* exportanteil am umsatz
recode l13* (-9 -8=.)
gen export_proz = l13c + l13d + l13e
gen export_euro = l13c

* Branche (17 Auspr�gungen)
recode br17fb04 (1 2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/15=7)(16 17=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1


* Querschnittgewicht
gen csweight = hr2004q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*

save $data/bpmerge_2004.dta, replace


*******************
*** 	2005	***
*******************
use $orig/iabbp_2005.dta if quer2005=="Q", clear
keep bula2005 m10 m09 m09proz m12* br17fb05 m52 m53 idnum quer2005 hr2005q well*

* Jahr
gen jahr=2005

* Ost/West
recode bula2005 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2005 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
recode m10 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* exportanteil am umsatz
recode m12* (-9 -8=.)
gen export_proz = m12c + m12d + m12e
gen export_euro = m12c

* Branche (17 Auspr�gungen)
recode br17fb05 (1 2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/15=7)(16 17=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten�bermitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./�ff.Verw./Soz.vers."
label value w73_1 w73_1

* Querschnittgewicht
gen csweight = hr2005q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*

save $data/bpmerge_2005.dta, replace

*******************
*** 	2006	***
*******************
use $orig/iabbp_2006.dta if quer2006=="Q", clear
keep bula2006 n11 n12 n12proz n09* br17fb06 n79 n80 idnum quer2006 hr2006q well*

* Jahr
gen jahr=2006

* Ost/West
recode bula2006 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2006 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
recode n11 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* Prozent des Umsatzes, der auf Westdt, Ostdt, Euroland, �briges Ausland entf�llt
* exportanteil am umsatz
recode n09* (-9 -8=.)
gen export_proz = n09c + n09d + n09e
gen export_euro = n09c

* Branche (17 Auspr�gungen)
recode br17fb06 (1 2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/15=7)(16 17=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Querschnittgewicht
gen csweight = hr2006q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*

save $data/bpmerge_2006.dta, replace


*******************
*** 	2007	***
*******************
use $orig/iabbp_2007.dta if quer2007=="Q", clear
keep bula2007 o13 o15 o15proz o10* br17fb07 o81 o82 idnum quer2007 hr2007q well*

* Jahr
gen jahr=2007

* Ost/West
recode bula2007 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2007 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
recode o13 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* Prozent des Umsatzes, der auf Westdt, Ostdt, Euroland, �briges Ausland entf�llt
* exportanteil am umsatz
recode o10* (-9 -8=.)
gen export_proz = o10c + o10d + o10e
gen export_euro = o10c

* Branche (17 Auspr�gungen)
recode br17fb07 (1 2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/15=7)(16 17=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Querschnittgewicht
gen csweight = hr2007q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*

save $data/bpmerge_2007.dta, replace


*******************
*** 	2008	***
*******************
use $orig/iabbp_2008.dta if quer2008=="Q", clear
keep bula2008 p15 p17 p17proz p11* br17fb08 p59 p60 quer2008 hr2008q idnum well*

* Jahr
gen jahr=2008

* Ost/West
recode bula2008 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2008 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
recode p15 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* Prozent des Umsatzes, der auf Westdt, Ostdt, Euroland, �briges Ausland entf�llt
* exportanteil am umsatz
recode p11* (-9 -8=.)
gen export_proz = p11c
gen export_euro = .

* Branche (17 Auspr�gungen)
recode br17fb08 (1 2=1)(3 4 5 6=2)(7=3)(8=4)(9=5)(10=6)(11/15=7)(16 17=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten𢥲mitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./צf.Verw./Soz.vers."
label value w73_1 w73_1

* Querschnittgewicht
gen csweight = hr2008q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1  csweight well*


save $data/bpmerge_2008.dta, replace

*******************
*** 	2009	***
*******************
use $orig/iabbp_2009.dta if quer2009=="Q", clear
keep bula2009 q12 q14 q14proz q08* br18fb09 q39 q40 idnum quer2009 hr2009q well*

* Jahr
gen jahr=2009

* Ost/West
recode bula2009 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2009 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Ertragslage im letzten Gesch�ftsjahr
recode q12 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* exportanteil am umsatz
recode q08* (-9 -8=.)
gen export_proz = q08c
gen export_euro = .

* Branche (18 Auspr�gungen)
recode br18fb09 (1 2=1)(3 4 5 6=2)(7=3)(8=4)(9 10=5)(12=6)(11 13/16=7)(17 18=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten�bermitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./�ff.Verw./Soz.vers."
label value w73_1 w73_1

* Querschnittgewicht
gen csweight = hr2009q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1 csweight well*

save $data/bpmerge_2009.dta, replace


*******************
*** 	2010	***
*******************
use $orig/iabbp_2010.dta if quer2010=="Q", clear
keep bula2010 r15 r17 r17proz r11* br19fb10 r50 r51 idnum quer2010 hr2010q well*

* Ost/West
recode bula2010 (1/10 = 0) (0 11/16 = 1), gen(east)
recode bula2010 (0=11)(10=7), gen(bula)		/* west-berlin=berlin: time consistent bula variable */

* Jahr
gen jahr=2010

* Ertragslage im letzten Gesch�ftsjahr
recode r15 (-9 -8=.)(6=.a)(5=0)(4=1)(3=2)(2=3)(1=4), gen(ertragslage_lasty)
label define ertragslage 0 "mangelhaft" 1 "ausreichend" 2 "befriedigend" 3 "gut" 4 "sehr gut"
label value ertragslage_lasty ertragslage

* Ertragslage im laufenden Gesch�ftsjahr
gen ertragslage_thisy = .

* exportanteil am umsatz
recode r11* (-9 -8=.)
gen export_proz = r11c
gen export_euro = .

recode br19fb10 (1 2=1)(3 4 5 6=2)(7=3)(8 9=4)(10 11=5)(13=6)(12 14/17=7)(18 19=8), gen(w73_1)
label define w73_1 ///
	1 "Land-u.Forstw.,Tierh.u.Fischer, Energie, Wasserw. Bergb." ///
	2 "Verarbeitendes Gewerbe" ///
	3 "Baugewerbe" ///
	4 "Handel" ///
	5 "Verkehr u.Nachrichten�bermitt." ///
	6 "Kredit- u.Versicherungsgewerbe" ///
	7 "Dienstleist., soweit n.genannt" ///
	8 "Org.o.E./�ff.Verw./Soz.vers."
label value w73_1 w73_1

* Querschnittgewicht
gen csweight = hr2010q

keep idnum east bula jahr ertragslage_lasty ertragslage_thisy export_proz export_euro w73_1 csweight well*

save $data/bpmerge_2010.dta, replace


*************
*** merge ***
*************
clear
forvalues year = 1993/2010 {
	qui append using "$data/bpmerge_`year'.dta"
	erase "$data/bpmerge_`year'.dta"
	}

order idnum jahr
sort idnum jahr

* Split idnums whenever interviewers indicate that "a different unit than last year" was surveyed

gen break1 = 0	/* indicates a break */
forvalues year = 1993/2010 {
	qui replace break1 = 1 if (well`year' == "D" | well`year' == "G") & (jahr == `year')
	}

gen otherunit1 = 0
replace otherunit1 = 1 if break == 1			 /* is 1 if break */

local i = 0		/* mark that unit change for all following years */
while `i' <=20 {
	qui replace otherunit1 = 1 if otherunit1[_n-1] == 1 & idnum == idnum[_n-1]  /* is 1 if any of the previous years was a break */
	local i = `i' + 1
	}

* Repeat in case a second break occurred
gen break2 = 0
forvalues year = 1993/2010 {
	qui replace break2 = 1 if (well`year' == "D" | well`year' == "G") & (jahr == `year') & idnum == idnum[_n-1] & otherunit1[_n-1]==1  /* last condition guaranties only second breaks are captured */
	}

gen otherunit2 = 0
replace otherunit2 = 1 if break2 == 1
local i = 0		/* mark second unit change for all following years */
while `i' <=20 {
	qui replace otherunit2 = 1 if otherunit2[_n-1] == 1 & idnum == idnum[_n-1]  /* is 1 if any of the previous years was a break */
	local i = `i' + 1
	}

* Drop if it occurred a third time, bec. in all of these establishments, a fourth time also occurred. These extremely few cases seem to be unreliable obs.
gen break3 = 0
forvalues year = 1993/2010 {
	qui replace break3 = 1 if (well`year' == "D" | well`year' == "G") & (jahr == `year') & idnum == idnum[_n-1] & otherunit2[_n-1]==1  /* last condition guaranties only second breaks are captured */
	}

gen otherunit3 = 0
replace otherunit3 = 1 if break3 == 1
local i = 0		/* mark second unit change for all following years */
while `i' <=20 {
	qui replace otherunit3 = 1 if otherunit3[_n-1] == 1 & idnum == idnum[_n-1]  /* is 1 if any of the previous years was a break */
	local i = `i' + 1
	}

drop if otherunit3==1

*** split establishments by generating a new id for later use in panelmodels ***
gen double estid = idnum * 100 + 10*otherunit1 + 10*otherunit2
drop otherunit* break*

*** split establishments where a change in industry occurs
* indicate the year where the change occurs
gen indic =0
replace indic = 1 if estid==estid[_n-1] & w73_1 != w73_1[_n-1]

* extend the indicator of a change to all years after change occured
* and repeat five times in case more than one change occurrs
sort estid jahr
local j = 0
local i = 0
while `j' <= 4	{
	dis "j=`j'"
	while `i' <=20 {
		replace indic = 1 if indic[_n-1]==1 & estid==estid[_n-1]
		local i = `i' + 1
		}
	replace estid = estid + indic if indic==1
	replace indic = 0
	local j = `j' + 1
	}
drop indic

*** Earning sit: 1993-1998(thisy) 1998-2010(lasty)
* Harmonize using leads/lags
sort idnum estid jahr
replace ertragslage_thisy = ertragslage_lasty[_n+1] if missing(ertragslage_thisy) & estid==estid[_n+1] & jahr+1==jahr[_n+1]
drop ertragslage_lasty

* From 2006 onwards ertragslage_lasty no longer differentiates between "does not apply" and ".". All non profits are set to .
* Therefore: forward impute the non-profit code (.a).
local i = 0
while `i' <=20 {
	qui replace ertragslage_thisy = .a if (missing(ertragslage_thisy) & ertragslage_thisy[_n-1]==.a & idnum==idnum[_n-1])
	local i = `i' + 1
	}

* If ertragslage is missing in between two nonmissing measurements: impute a linear trend
replace ertragslage_thisy = ((ertragslage_thisy[_n-1] + ertragslage_thisy[_n+1])/2) if (idnum==idnum[_n-1]) & (idnum==idnum[_n+1]) & ertragslage_thisy==. & ertragslage_thisy[_n-1]!=. & ertragslage_thisy[_n+1]!=.

* and round
replace ertragslage_thisy = 0 if ertragslage_thisy >= 0 & ertragslage_thisy < .5
replace ertragslage_thisy = 1 if ertragslage_thisy >= .5 & ertragslage_thisy < 1.5
replace ertragslage_thisy = 2 if ertragslage_thisy >= 1.5 & ertragslage_thisy < 2.5
replace ertragslage_thisy = 3 if ertragslage_thisy >= 2.5 & ertragslage_thisy < 3.5
replace ertragslage_thisy = 4 if ertragslage_thisy >= 3.5 & ertragslage_thisy < 4.5
tab ertragslage_thisy

* create lags
gen ertragslage_l0 = ertragslage_thisy
gen ertragslage_l1 = ertragslage_thisy[_n-1] if estid==estid[_n-1] & jahr-1==jahr[_n-1]
gen ertragslage_l2 = ertragslage_thisy[_n-2] if estid==estid[_n-2] & jahr-2==jahr[_n-2]

* exportshare: question seems to make no sense in banking. % do not respond. Among those who do respond, >90% respond with "0%"
* in order not to loose the entire sector we replace all missings in this sector with 0.
* replace export_proz = 0 if w73_1 == 6 & export_proz == .

* label variables
label variable east "east/west ger."
label variable bula "federal state"
label variable jahr "year"
label variable ertragslage_thisy "earning sit(this yr)"
label variable export_proz "export as % of sales"
label variable export_euro "export to EMU as % of sales"
label variable csweight "cross-sect. weight establishm."

* generate firm-years
gen double est_year = (estid * 10000) + jahr /* make spake to insert years to the last 4 digits (does not work with strings bec numbers too long) */
duplicates tag est_year, gen(tag)
tab tag
drop tag

* generate industry-years
gen double ind_year =(w73_1 * 10000) + jahr
drop if jahr>2008
save $data/bp_1993-2008.dta, replace

*** END ***
log close









